package com.restaurant.application.indexes.customerlist.mysql;

import com.google.common.collect.Lists;
import com.nebutown.generation.Convert;
import com.nebutown.generation.PickableBean;
import com.nebutown.generation.basictype.UID;

import java.util.List;

public class CustomerListCriteria implements PickableBean {

    public static final String FN_RECORDID = "recordId";
    public static final String FN_CUSTOMERUIDEQUALS = "customerUidEquals";
    public static final String FN_CUSTOMERUIDNOTEQUALS = "customerUidNotEquals";
    public static final String FN_IDLIKE = "idLike";
    public static final String FN_IDEQUALS = "idEquals";
    public static final String FN_IDNOTEQUALS = "idNotEquals";
    public static final String FN_CREATETIMEUPPER = "createTimeUpper";
    public static final String FN_CREATETIMELOWER = "createTimeLower";
    public static final String FN_CREATETIMEEQUALS = "createTimeEquals";
    public static final String FN_CREATETIMENOTEQUALS = "createTimeNotEquals";
    public static final String FN_MODIFYTIMEUPPER = "modifyTimeUpper";
    public static final String FN_MODIFYTIMELOWER = "modifyTimeLower";
    public static final String FN_MODIFYTIMEEQUALS = "modifyTimeEquals";
    public static final String FN_MODIFYTIMENOTEQUALS = "modifyTimeNotEquals";
    public static final String FN_AVATARURLLIKE = "avatarUrlLike";
    public static final String FN_AVATARURLEQUALS = "avatarUrlEquals";
    public static final String FN_AVATARURLNOTEQUALS = "avatarUrlNotEquals";
    public static final String FN_NICKNAMELIKE = "nickNameLike";
    public static final String FN_NICKNAMEEQUALS = "nickNameEquals";
    public static final String FN_NICKNAMENOTEQUALS = "nickNameNotEquals";
    public static final String FN_REALNAMELIKE = "realNameLike";
    public static final String FN_REALNAMEEQUALS = "realNameEquals";
    public static final String FN_REALNAMENOTEQUALS = "realNameNotEquals";
    public static final String FN_GENDERLIKE = "genderLike";
    public static final String FN_GENDEREQUALS = "genderEquals";
    public static final String FN_GENDERNOTEQUALS = "genderNotEquals";
    public static final String FN_BIRTHDAYLIKE = "birthdayLike";
    public static final String FN_BIRTHDAYEQUALS = "birthdayEquals";
    public static final String FN_BIRTHDAYNOTEQUALS = "birthdayNotEquals";
    public static final String FN_OPENIDLIKE = "openIdLike";
    public static final String FN_OPENIDEQUALS = "openIdEquals";
    public static final String FN_OPENIDNOTEQUALS = "openIdNotEquals";
    public static final String FN_PHONELIKE = "phoneLike";
    public static final String FN_PHONEEQUALS = "phoneEquals";
    public static final String FN_PHONENOTEQUALS = "phoneNotEquals";
    public static final String FN_LEVELNAMELIKE = "levelNameLike";
    public static final String FN_LEVELNAMEEQUALS = "levelNameEquals";
    public static final String FN_LEVELNAMENOTEQUALS = "levelNameNotEquals";
    public static final String FN_LEVELLIKE = "levelLike";
    public static final String FN_LEVELEQUALS = "levelEquals";
    public static final String FN_LEVELNOTEQUALS = "levelNotEquals";
    public static final String FN_NUMBERLIKE = "numberLike";
    public static final String FN_NUMBEREQUALS = "numberEquals";
    public static final String FN_NUMBERNOTEQUALS = "numberNotEquals";
    public static final String FN_QRCODEURLLIKE = "qrCodeUrlLike";
    public static final String FN_QRCODEURLEQUALS = "qrCodeUrlEquals";
    public static final String FN_QRCODEURLNOTEQUALS = "qrCodeUrlNotEquals";
    public static final String FN_QRCODEUIDLIKE = "qrCodeUidLike";
    public static final String FN_QRCODEUIDEQUALS = "qrCodeUidEquals";
    public static final String FN_QRCODEUIDNOTEQUALS = "qrCodeUidNotEquals";
    public static final String FN_USABLESCORESLIKE = "usableScoresLike";
    public static final String FN_USABLESCORESEQUALS = "usableScoresEquals";
    public static final String FN_USABLESCORESNOTEQUALS = "usableScoresNotEquals";
    public static final String FN_TOTALSCORESLIKE = "totalScoresLike";
    public static final String FN_TOTALSCORESEQUALS = "totalScoresEquals";
    public static final String FN_TOTALSCORESNOTEQUALS = "totalScoresNotEquals";
    public static final String FN_STATELIKE = "stateLike";
    public static final String FN_STATEEQUALS = "stateEquals";
    public static final String FN_STATENOTEQUALS = "stateNotEquals";
    public static final String FN_ADDRESSLIKE = "addressLike";
    public static final String FN_ADDRESSEQUALS = "addressEquals";
    public static final String FN_ADDRESSNOTEQUALS = "addressNotEquals";

    public static final List<String> FIELD_NAMES = Lists.newArrayList(
             FN_RECORDID,
             FN_CUSTOMERUIDEQUALS,
             FN_CUSTOMERUIDNOTEQUALS,
             FN_IDLIKE,
             FN_IDEQUALS,
             FN_IDNOTEQUALS,
             FN_CREATETIMEUPPER,
             FN_CREATETIMELOWER,
             FN_CREATETIMEEQUALS,
             FN_CREATETIMENOTEQUALS,
             FN_MODIFYTIMEUPPER,
             FN_MODIFYTIMELOWER,
             FN_MODIFYTIMEEQUALS,
             FN_MODIFYTIMENOTEQUALS,
             FN_AVATARURLLIKE,
             FN_AVATARURLEQUALS,
             FN_AVATARURLNOTEQUALS,
             FN_NICKNAMELIKE,
             FN_NICKNAMEEQUALS,
             FN_NICKNAMENOTEQUALS,
             FN_REALNAMELIKE,
             FN_REALNAMEEQUALS,
             FN_REALNAMENOTEQUALS,
             FN_GENDERLIKE,
             FN_GENDEREQUALS,
             FN_GENDERNOTEQUALS,
             FN_BIRTHDAYLIKE,
             FN_BIRTHDAYEQUALS,
             FN_BIRTHDAYNOTEQUALS,
             FN_OPENIDLIKE,
             FN_OPENIDEQUALS,
             FN_OPENIDNOTEQUALS,
             FN_PHONELIKE,
             FN_PHONEEQUALS,
             FN_PHONENOTEQUALS,
             FN_LEVELNAMELIKE,
             FN_LEVELNAMEEQUALS,
             FN_LEVELNAMENOTEQUALS,
             FN_LEVELLIKE,
             FN_LEVELEQUALS,
             FN_LEVELNOTEQUALS,
             FN_NUMBERLIKE,
             FN_NUMBEREQUALS,
             FN_NUMBERNOTEQUALS,
             FN_QRCODEURLLIKE,
             FN_QRCODEURLEQUALS,
             FN_QRCODEURLNOTEQUALS,
             FN_QRCODEUIDLIKE,
             FN_QRCODEUIDEQUALS,
             FN_QRCODEUIDNOTEQUALS,
             FN_USABLESCORESLIKE,
             FN_USABLESCORESEQUALS,
             FN_USABLESCORESNOTEQUALS,
             FN_TOTALSCORESLIKE,
             FN_TOTALSCORESEQUALS,
             FN_TOTALSCORESNOTEQUALS,
             FN_STATELIKE,
             FN_STATEEQUALS,
             FN_STATENOTEQUALS,
             FN_ADDRESSLIKE,
             FN_ADDRESSEQUALS,
             FN_ADDRESSNOTEQUALS);

    private Long recordId;
    private UID customerUidEquals;
    private UID customerUidNotEquals;
    private String idLike;
    private String idEquals;
    private String idNotEquals;
    private Long createTimeUpper;
    private Long createTimeLower;
    private Long createTimeEquals;
    private Long createTimeNotEquals;
    private Long modifyTimeUpper;
    private Long modifyTimeLower;
    private Long modifyTimeEquals;
    private Long modifyTimeNotEquals;
    private String avatarUrlLike;
    private String avatarUrlEquals;
    private String avatarUrlNotEquals;
    private String nickNameLike;
    private String nickNameEquals;
    private String nickNameNotEquals;
    private String realNameLike;
    private String realNameEquals;
    private String realNameNotEquals;
    private String genderLike;
    private String genderEquals;
    private String genderNotEquals;
    private String birthdayLike;
    private String birthdayEquals;
    private String birthdayNotEquals;
    private String openIdLike;
    private String openIdEquals;
    private String openIdNotEquals;
    private String phoneLike;
    private String phoneEquals;
    private String phoneNotEquals;
    private String levelNameLike;
    private String levelNameEquals;
    private String levelNameNotEquals;
    private String levelLike;
    private String levelEquals;
    private String levelNotEquals;
    private String numberLike;
    private String numberEquals;
    private String numberNotEquals;
    private String qrCodeUrlLike;
    private String qrCodeUrlEquals;
    private String qrCodeUrlNotEquals;
    private String qrCodeUidLike;
    private String qrCodeUidEquals;
    private String qrCodeUidNotEquals;
    private String usableScoresLike;
    private String usableScoresEquals;
    private String usableScoresNotEquals;
    private String totalScoresLike;
    private String totalScoresEquals;
    private String totalScoresNotEquals;
    private String stateLike;
    private String stateEquals;
    private String stateNotEquals;
    private String addressLike;
    private String addressEquals;
    private String addressNotEquals;

    public CustomerListCriteria(Long recordId, UID customerUidEquals, UID customerUidNotEquals, String idLike, String idEquals, String idNotEquals, Long createTimeUpper, Long createTimeLower, Long createTimeEquals, Long createTimeNotEquals, Long modifyTimeUpper, Long modifyTimeLower, Long modifyTimeEquals, Long modifyTimeNotEquals, String avatarUrlLike, String avatarUrlEquals, String avatarUrlNotEquals, String nickNameLike, String nickNameEquals, String nickNameNotEquals, String realNameLike, String realNameEquals, String realNameNotEquals, String genderLike, String genderEquals, String genderNotEquals, String birthdayLike, String birthdayEquals, String birthdayNotEquals, String openIdLike, String openIdEquals, String openIdNotEquals, String phoneLike, String phoneEquals, String phoneNotEquals, String levelNameLike, String levelNameEquals, String levelNameNotEquals, String levelLike, String levelEquals, String levelNotEquals, String numberLike, String numberEquals, String numberNotEquals, String qrCodeUrlLike, String qrCodeUrlEquals, String qrCodeUrlNotEquals, String qrCodeUidLike, String qrCodeUidEquals, String qrCodeUidNotEquals, String usableScoresLike, String usableScoresEquals, String usableScoresNotEquals, String totalScoresLike, String totalScoresEquals, String totalScoresNotEquals, String stateLike, String stateEquals, String stateNotEquals, String addressLike, String addressEquals, String addressNotEquals) {
        setRecordId(recordId);
        setCustomerUidEquals(customerUidEquals);
        setCustomerUidNotEquals(customerUidNotEquals);
        setIdLike(idLike);
        setIdEquals(idEquals);
        setIdNotEquals(idNotEquals);
        setCreateTimeUpper(createTimeUpper);
        setCreateTimeLower(createTimeLower);
        setCreateTimeEquals(createTimeEquals);
        setCreateTimeNotEquals(createTimeNotEquals);
        setModifyTimeUpper(modifyTimeUpper);
        setModifyTimeLower(modifyTimeLower);
        setModifyTimeEquals(modifyTimeEquals);
        setModifyTimeNotEquals(modifyTimeNotEquals);
        setAvatarUrlLike(avatarUrlLike);
        setAvatarUrlEquals(avatarUrlEquals);
        setAvatarUrlNotEquals(avatarUrlNotEquals);
        setNickNameLike(nickNameLike);
        setNickNameEquals(nickNameEquals);
        setNickNameNotEquals(nickNameNotEquals);
        setRealNameLike(realNameLike);
        setRealNameEquals(realNameEquals);
        setRealNameNotEquals(realNameNotEquals);
        setGenderLike(genderLike);
        setGenderEquals(genderEquals);
        setGenderNotEquals(genderNotEquals);
        setBirthdayLike(birthdayLike);
        setBirthdayEquals(birthdayEquals);
        setBirthdayNotEquals(birthdayNotEquals);
        setOpenIdLike(openIdLike);
        setOpenIdEquals(openIdEquals);
        setOpenIdNotEquals(openIdNotEquals);
        setPhoneLike(phoneLike);
        setPhoneEquals(phoneEquals);
        setPhoneNotEquals(phoneNotEquals);
        setLevelNameLike(levelNameLike);
        setLevelNameEquals(levelNameEquals);
        setLevelNameNotEquals(levelNameNotEquals);
        setLevelLike(levelLike);
        setLevelEquals(levelEquals);
        setLevelNotEquals(levelNotEquals);
        setNumberLike(numberLike);
        setNumberEquals(numberEquals);
        setNumberNotEquals(numberNotEquals);
        setQrCodeUrlLike(qrCodeUrlLike);
        setQrCodeUrlEquals(qrCodeUrlEquals);
        setQrCodeUrlNotEquals(qrCodeUrlNotEquals);
        setQrCodeUidLike(qrCodeUidLike);
        setQrCodeUidEquals(qrCodeUidEquals);
        setQrCodeUidNotEquals(qrCodeUidNotEquals);
        setUsableScoresLike(usableScoresLike);
        setUsableScoresEquals(usableScoresEquals);
        setUsableScoresNotEquals(usableScoresNotEquals);
        setTotalScoresLike(totalScoresLike);
        setTotalScoresEquals(totalScoresEquals);
        setTotalScoresNotEquals(totalScoresNotEquals);
        setStateLike(stateLike);
        setStateEquals(stateEquals);
        setStateNotEquals(stateNotEquals);
        setAddressLike(addressLike);
        setAddressEquals(addressEquals);
        setAddressNotEquals(addressNotEquals);
    }

    public CustomerListCriteria() {
    }

    public CustomerListCriteria duplicate() {
        CustomerListCriteria result = new CustomerListCriteria();
        result.recordId = this.recordId;
        result.customerUidEquals = this.customerUidEquals;
        result.customerUidNotEquals = this.customerUidNotEquals;
        result.idLike = this.idLike;
        result.idEquals = this.idEquals;
        result.idNotEquals = this.idNotEquals;
        result.createTimeUpper = this.createTimeUpper;
        result.createTimeLower = this.createTimeLower;
        result.createTimeEquals = this.createTimeEquals;
        result.createTimeNotEquals = this.createTimeNotEquals;
        result.modifyTimeUpper = this.modifyTimeUpper;
        result.modifyTimeLower = this.modifyTimeLower;
        result.modifyTimeEquals = this.modifyTimeEquals;
        result.modifyTimeNotEquals = this.modifyTimeNotEquals;
        result.avatarUrlLike = this.avatarUrlLike;
        result.avatarUrlEquals = this.avatarUrlEquals;
        result.avatarUrlNotEquals = this.avatarUrlNotEquals;
        result.nickNameLike = this.nickNameLike;
        result.nickNameEquals = this.nickNameEquals;
        result.nickNameNotEquals = this.nickNameNotEquals;
        result.realNameLike = this.realNameLike;
        result.realNameEquals = this.realNameEquals;
        result.realNameNotEquals = this.realNameNotEquals;
        result.genderLike = this.genderLike;
        result.genderEquals = this.genderEquals;
        result.genderNotEquals = this.genderNotEquals;
        result.birthdayLike = this.birthdayLike;
        result.birthdayEquals = this.birthdayEquals;
        result.birthdayNotEquals = this.birthdayNotEquals;
        result.openIdLike = this.openIdLike;
        result.openIdEquals = this.openIdEquals;
        result.openIdNotEquals = this.openIdNotEquals;
        result.phoneLike = this.phoneLike;
        result.phoneEquals = this.phoneEquals;
        result.phoneNotEquals = this.phoneNotEquals;
        result.levelNameLike = this.levelNameLike;
        result.levelNameEquals = this.levelNameEquals;
        result.levelNameNotEquals = this.levelNameNotEquals;
        result.levelLike = this.levelLike;
        result.levelEquals = this.levelEquals;
        result.levelNotEquals = this.levelNotEquals;
        result.numberLike = this.numberLike;
        result.numberEquals = this.numberEquals;
        result.numberNotEquals = this.numberNotEquals;
        result.qrCodeUrlLike = this.qrCodeUrlLike;
        result.qrCodeUrlEquals = this.qrCodeUrlEquals;
        result.qrCodeUrlNotEquals = this.qrCodeUrlNotEquals;
        result.qrCodeUidLike = this.qrCodeUidLike;
        result.qrCodeUidEquals = this.qrCodeUidEquals;
        result.qrCodeUidNotEquals = this.qrCodeUidNotEquals;
        result.usableScoresLike = this.usableScoresLike;
        result.usableScoresEquals = this.usableScoresEquals;
        result.usableScoresNotEquals = this.usableScoresNotEquals;
        result.totalScoresLike = this.totalScoresLike;
        result.totalScoresEquals = this.totalScoresEquals;
        result.totalScoresNotEquals = this.totalScoresNotEquals;
        result.stateLike = this.stateLike;
        result.stateEquals = this.stateEquals;
        result.stateNotEquals = this.stateNotEquals;
        result.addressLike = this.addressLike;
        result.addressEquals = this.addressEquals;
        result.addressNotEquals = this.addressNotEquals;
        return result;
    }

    @Override
    public String toString() {
        return Convert.toJson(this);
    }

    public Long getRecordId() {
        return recordId;
    }

    public void  setRecordId(Long value) {
        this.recordId = value;
    }

    public CustomerListCriteria withRecordId(Long value) {
        setRecordId(value);
        return this;
    }

    public CustomerListCriteria withRecordId(Long value, Long defaultValue) {
        setRecordId(value == null ? defaultValue : value);
        return this;
    }

    public UID getCustomerUidEquals() {
        return customerUidEquals;
    }

    public void  setCustomerUidEquals(UID value) {
        this.customerUidEquals = value;
    }

    public CustomerListCriteria withCustomerUidEquals(UID value) {
        setCustomerUidEquals(value);
        return this;
    }

    public CustomerListCriteria withCustomerUidEquals(UID value, UID defaultValue) {
        setCustomerUidEquals(value == null ? defaultValue : value);
        return this;
    }

    public UID getCustomerUidNotEquals() {
        return customerUidNotEquals;
    }

    public void  setCustomerUidNotEquals(UID value) {
        this.customerUidNotEquals = value;
    }

    public CustomerListCriteria withCustomerUidNotEquals(UID value) {
        setCustomerUidNotEquals(value);
        return this;
    }

    public CustomerListCriteria withCustomerUidNotEquals(UID value, UID defaultValue) {
        setCustomerUidNotEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getIdLike() {
        return idLike;
    }

    public void  setIdLike(String value) {
        this.idLike = value;
    }

    public CustomerListCriteria withIdLike(String value) {
        setIdLike(value);
        return this;
    }

    public CustomerListCriteria withIdLike(String value, String defaultValue) {
        setIdLike(value == null ? defaultValue : value);
        return this;
    }

    public String getIdEquals() {
        return idEquals;
    }

    public void  setIdEquals(String value) {
        this.idEquals = value;
    }

    public CustomerListCriteria withIdEquals(String value) {
        setIdEquals(value);
        return this;
    }

    public CustomerListCriteria withIdEquals(String value, String defaultValue) {
        setIdEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getIdNotEquals() {
        return idNotEquals;
    }

    public void  setIdNotEquals(String value) {
        this.idNotEquals = value;
    }

    public CustomerListCriteria withIdNotEquals(String value) {
        setIdNotEquals(value);
        return this;
    }

    public CustomerListCriteria withIdNotEquals(String value, String defaultValue) {
        setIdNotEquals(value == null ? defaultValue : value);
        return this;
    }

    public Long getCreateTimeUpper() {
        return createTimeUpper;
    }

    public void  setCreateTimeUpper(Long value) {
        this.createTimeUpper = value;
    }

    public CustomerListCriteria withCreateTimeUpper(Long value) {
        setCreateTimeUpper(value);
        return this;
    }

    public CustomerListCriteria withCreateTimeUpper(Long value, Long defaultValue) {
        setCreateTimeUpper(value == null ? defaultValue : value);
        return this;
    }

    public Long getCreateTimeLower() {
        return createTimeLower;
    }

    public void  setCreateTimeLower(Long value) {
        this.createTimeLower = value;
    }

    public CustomerListCriteria withCreateTimeLower(Long value) {
        setCreateTimeLower(value);
        return this;
    }

    public CustomerListCriteria withCreateTimeLower(Long value, Long defaultValue) {
        setCreateTimeLower(value == null ? defaultValue : value);
        return this;
    }

    public Long getCreateTimeEquals() {
        return createTimeEquals;
    }

    public void  setCreateTimeEquals(Long value) {
        this.createTimeEquals = value;
    }

    public CustomerListCriteria withCreateTimeEquals(Long value) {
        setCreateTimeEquals(value);
        return this;
    }

    public CustomerListCriteria withCreateTimeEquals(Long value, Long defaultValue) {
        setCreateTimeEquals(value == null ? defaultValue : value);
        return this;
    }

    public Long getCreateTimeNotEquals() {
        return createTimeNotEquals;
    }

    public void  setCreateTimeNotEquals(Long value) {
        this.createTimeNotEquals = value;
    }

    public CustomerListCriteria withCreateTimeNotEquals(Long value) {
        setCreateTimeNotEquals(value);
        return this;
    }

    public CustomerListCriteria withCreateTimeNotEquals(Long value, Long defaultValue) {
        setCreateTimeNotEquals(value == null ? defaultValue : value);
        return this;
    }

    public Long getModifyTimeUpper() {
        return modifyTimeUpper;
    }

    public void  setModifyTimeUpper(Long value) {
        this.modifyTimeUpper = value;
    }

    public CustomerListCriteria withModifyTimeUpper(Long value) {
        setModifyTimeUpper(value);
        return this;
    }

    public CustomerListCriteria withModifyTimeUpper(Long value, Long defaultValue) {
        setModifyTimeUpper(value == null ? defaultValue : value);
        return this;
    }

    public Long getModifyTimeLower() {
        return modifyTimeLower;
    }

    public void  setModifyTimeLower(Long value) {
        this.modifyTimeLower = value;
    }

    public CustomerListCriteria withModifyTimeLower(Long value) {
        setModifyTimeLower(value);
        return this;
    }

    public CustomerListCriteria withModifyTimeLower(Long value, Long defaultValue) {
        setModifyTimeLower(value == null ? defaultValue : value);
        return this;
    }

    public Long getModifyTimeEquals() {
        return modifyTimeEquals;
    }

    public void  setModifyTimeEquals(Long value) {
        this.modifyTimeEquals = value;
    }

    public CustomerListCriteria withModifyTimeEquals(Long value) {
        setModifyTimeEquals(value);
        return this;
    }

    public CustomerListCriteria withModifyTimeEquals(Long value, Long defaultValue) {
        setModifyTimeEquals(value == null ? defaultValue : value);
        return this;
    }

    public Long getModifyTimeNotEquals() {
        return modifyTimeNotEquals;
    }

    public void  setModifyTimeNotEquals(Long value) {
        this.modifyTimeNotEquals = value;
    }

    public CustomerListCriteria withModifyTimeNotEquals(Long value) {
        setModifyTimeNotEquals(value);
        return this;
    }

    public CustomerListCriteria withModifyTimeNotEquals(Long value, Long defaultValue) {
        setModifyTimeNotEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getAvatarUrlLike() {
        return avatarUrlLike;
    }

    public void  setAvatarUrlLike(String value) {
        this.avatarUrlLike = value;
    }

    public CustomerListCriteria withAvatarUrlLike(String value) {
        setAvatarUrlLike(value);
        return this;
    }

    public CustomerListCriteria withAvatarUrlLike(String value, String defaultValue) {
        setAvatarUrlLike(value == null ? defaultValue : value);
        return this;
    }

    public String getAvatarUrlEquals() {
        return avatarUrlEquals;
    }

    public void  setAvatarUrlEquals(String value) {
        this.avatarUrlEquals = value;
    }

    public CustomerListCriteria withAvatarUrlEquals(String value) {
        setAvatarUrlEquals(value);
        return this;
    }

    public CustomerListCriteria withAvatarUrlEquals(String value, String defaultValue) {
        setAvatarUrlEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getAvatarUrlNotEquals() {
        return avatarUrlNotEquals;
    }

    public void  setAvatarUrlNotEquals(String value) {
        this.avatarUrlNotEquals = value;
    }

    public CustomerListCriteria withAvatarUrlNotEquals(String value) {
        setAvatarUrlNotEquals(value);
        return this;
    }

    public CustomerListCriteria withAvatarUrlNotEquals(String value, String defaultValue) {
        setAvatarUrlNotEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getNickNameLike() {
        return nickNameLike;
    }

    public void  setNickNameLike(String value) {
        this.nickNameLike = value;
    }

    public CustomerListCriteria withNickNameLike(String value) {
        setNickNameLike(value);
        return this;
    }

    public CustomerListCriteria withNickNameLike(String value, String defaultValue) {
        setNickNameLike(value == null ? defaultValue : value);
        return this;
    }

    public String getNickNameEquals() {
        return nickNameEquals;
    }

    public void  setNickNameEquals(String value) {
        this.nickNameEquals = value;
    }

    public CustomerListCriteria withNickNameEquals(String value) {
        setNickNameEquals(value);
        return this;
    }

    public CustomerListCriteria withNickNameEquals(String value, String defaultValue) {
        setNickNameEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getNickNameNotEquals() {
        return nickNameNotEquals;
    }

    public void  setNickNameNotEquals(String value) {
        this.nickNameNotEquals = value;
    }

    public CustomerListCriteria withNickNameNotEquals(String value) {
        setNickNameNotEquals(value);
        return this;
    }

    public CustomerListCriteria withNickNameNotEquals(String value, String defaultValue) {
        setNickNameNotEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getRealNameLike() {
        return realNameLike;
    }

    public void  setRealNameLike(String value) {
        this.realNameLike = value;
    }

    public CustomerListCriteria withRealNameLike(String value) {
        setRealNameLike(value);
        return this;
    }

    public CustomerListCriteria withRealNameLike(String value, String defaultValue) {
        setRealNameLike(value == null ? defaultValue : value);
        return this;
    }

    public String getRealNameEquals() {
        return realNameEquals;
    }

    public void  setRealNameEquals(String value) {
        this.realNameEquals = value;
    }

    public CustomerListCriteria withRealNameEquals(String value) {
        setRealNameEquals(value);
        return this;
    }

    public CustomerListCriteria withRealNameEquals(String value, String defaultValue) {
        setRealNameEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getRealNameNotEquals() {
        return realNameNotEquals;
    }

    public void  setRealNameNotEquals(String value) {
        this.realNameNotEquals = value;
    }

    public CustomerListCriteria withRealNameNotEquals(String value) {
        setRealNameNotEquals(value);
        return this;
    }

    public CustomerListCriteria withRealNameNotEquals(String value, String defaultValue) {
        setRealNameNotEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getGenderLike() {
        return genderLike;
    }

    public void  setGenderLike(String value) {
        this.genderLike = value;
    }

    public CustomerListCriteria withGenderLike(String value) {
        setGenderLike(value);
        return this;
    }

    public CustomerListCriteria withGenderLike(String value, String defaultValue) {
        setGenderLike(value == null ? defaultValue : value);
        return this;
    }

    public String getGenderEquals() {
        return genderEquals;
    }

    public void  setGenderEquals(String value) {
        this.genderEquals = value;
    }

    public CustomerListCriteria withGenderEquals(String value) {
        setGenderEquals(value);
        return this;
    }

    public CustomerListCriteria withGenderEquals(String value, String defaultValue) {
        setGenderEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getGenderNotEquals() {
        return genderNotEquals;
    }

    public void  setGenderNotEquals(String value) {
        this.genderNotEquals = value;
    }

    public CustomerListCriteria withGenderNotEquals(String value) {
        setGenderNotEquals(value);
        return this;
    }

    public CustomerListCriteria withGenderNotEquals(String value, String defaultValue) {
        setGenderNotEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getBirthdayLike() {
        return birthdayLike;
    }

    public void  setBirthdayLike(String value) {
        this.birthdayLike = value;
    }

    public CustomerListCriteria withBirthdayLike(String value) {
        setBirthdayLike(value);
        return this;
    }

    public CustomerListCriteria withBirthdayLike(String value, String defaultValue) {
        setBirthdayLike(value == null ? defaultValue : value);
        return this;
    }

    public String getBirthdayEquals() {
        return birthdayEquals;
    }

    public void  setBirthdayEquals(String value) {
        this.birthdayEquals = value;
    }

    public CustomerListCriteria withBirthdayEquals(String value) {
        setBirthdayEquals(value);
        return this;
    }

    public CustomerListCriteria withBirthdayEquals(String value, String defaultValue) {
        setBirthdayEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getBirthdayNotEquals() {
        return birthdayNotEquals;
    }

    public void  setBirthdayNotEquals(String value) {
        this.birthdayNotEquals = value;
    }

    public CustomerListCriteria withBirthdayNotEquals(String value) {
        setBirthdayNotEquals(value);
        return this;
    }

    public CustomerListCriteria withBirthdayNotEquals(String value, String defaultValue) {
        setBirthdayNotEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getOpenIdLike() {
        return openIdLike;
    }

    public void  setOpenIdLike(String value) {
        this.openIdLike = value;
    }

    public CustomerListCriteria withOpenIdLike(String value) {
        setOpenIdLike(value);
        return this;
    }

    public CustomerListCriteria withOpenIdLike(String value, String defaultValue) {
        setOpenIdLike(value == null ? defaultValue : value);
        return this;
    }

    public String getOpenIdEquals() {
        return openIdEquals;
    }

    public void  setOpenIdEquals(String value) {
        this.openIdEquals = value;
    }

    public CustomerListCriteria withOpenIdEquals(String value) {
        setOpenIdEquals(value);
        return this;
    }

    public CustomerListCriteria withOpenIdEquals(String value, String defaultValue) {
        setOpenIdEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getOpenIdNotEquals() {
        return openIdNotEquals;
    }

    public void  setOpenIdNotEquals(String value) {
        this.openIdNotEquals = value;
    }

    public CustomerListCriteria withOpenIdNotEquals(String value) {
        setOpenIdNotEquals(value);
        return this;
    }

    public CustomerListCriteria withOpenIdNotEquals(String value, String defaultValue) {
        setOpenIdNotEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getPhoneLike() {
        return phoneLike;
    }

    public void  setPhoneLike(String value) {
        this.phoneLike = value;
    }

    public CustomerListCriteria withPhoneLike(String value) {
        setPhoneLike(value);
        return this;
    }

    public CustomerListCriteria withPhoneLike(String value, String defaultValue) {
        setPhoneLike(value == null ? defaultValue : value);
        return this;
    }

    public String getPhoneEquals() {
        return phoneEquals;
    }

    public void  setPhoneEquals(String value) {
        this.phoneEquals = value;
    }

    public CustomerListCriteria withPhoneEquals(String value) {
        setPhoneEquals(value);
        return this;
    }

    public CustomerListCriteria withPhoneEquals(String value, String defaultValue) {
        setPhoneEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getPhoneNotEquals() {
        return phoneNotEquals;
    }

    public void  setPhoneNotEquals(String value) {
        this.phoneNotEquals = value;
    }

    public CustomerListCriteria withPhoneNotEquals(String value) {
        setPhoneNotEquals(value);
        return this;
    }

    public CustomerListCriteria withPhoneNotEquals(String value, String defaultValue) {
        setPhoneNotEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getLevelNameLike() {
        return levelNameLike;
    }

    public void  setLevelNameLike(String value) {
        this.levelNameLike = value;
    }

    public CustomerListCriteria withLevelNameLike(String value) {
        setLevelNameLike(value);
        return this;
    }

    public CustomerListCriteria withLevelNameLike(String value, String defaultValue) {
        setLevelNameLike(value == null ? defaultValue : value);
        return this;
    }

    public String getLevelNameEquals() {
        return levelNameEquals;
    }

    public void  setLevelNameEquals(String value) {
        this.levelNameEquals = value;
    }

    public CustomerListCriteria withLevelNameEquals(String value) {
        setLevelNameEquals(value);
        return this;
    }

    public CustomerListCriteria withLevelNameEquals(String value, String defaultValue) {
        setLevelNameEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getLevelNameNotEquals() {
        return levelNameNotEquals;
    }

    public void  setLevelNameNotEquals(String value) {
        this.levelNameNotEquals = value;
    }

    public CustomerListCriteria withLevelNameNotEquals(String value) {
        setLevelNameNotEquals(value);
        return this;
    }

    public CustomerListCriteria withLevelNameNotEquals(String value, String defaultValue) {
        setLevelNameNotEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getLevelLike() {
        return levelLike;
    }

    public void  setLevelLike(String value) {
        this.levelLike = value;
    }

    public CustomerListCriteria withLevelLike(String value) {
        setLevelLike(value);
        return this;
    }

    public CustomerListCriteria withLevelLike(String value, String defaultValue) {
        setLevelLike(value == null ? defaultValue : value);
        return this;
    }

    public String getLevelEquals() {
        return levelEquals;
    }

    public void  setLevelEquals(String value) {
        this.levelEquals = value;
    }

    public CustomerListCriteria withLevelEquals(String value) {
        setLevelEquals(value);
        return this;
    }

    public CustomerListCriteria withLevelEquals(String value, String defaultValue) {
        setLevelEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getLevelNotEquals() {
        return levelNotEquals;
    }

    public void  setLevelNotEquals(String value) {
        this.levelNotEquals = value;
    }

    public CustomerListCriteria withLevelNotEquals(String value) {
        setLevelNotEquals(value);
        return this;
    }

    public CustomerListCriteria withLevelNotEquals(String value, String defaultValue) {
        setLevelNotEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getNumberLike() {
        return numberLike;
    }

    public void  setNumberLike(String value) {
        this.numberLike = value;
    }

    public CustomerListCriteria withNumberLike(String value) {
        setNumberLike(value);
        return this;
    }

    public CustomerListCriteria withNumberLike(String value, String defaultValue) {
        setNumberLike(value == null ? defaultValue : value);
        return this;
    }

    public String getNumberEquals() {
        return numberEquals;
    }

    public void  setNumberEquals(String value) {
        this.numberEquals = value;
    }

    public CustomerListCriteria withNumberEquals(String value) {
        setNumberEquals(value);
        return this;
    }

    public CustomerListCriteria withNumberEquals(String value, String defaultValue) {
        setNumberEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getNumberNotEquals() {
        return numberNotEquals;
    }

    public void  setNumberNotEquals(String value) {
        this.numberNotEquals = value;
    }

    public CustomerListCriteria withNumberNotEquals(String value) {
        setNumberNotEquals(value);
        return this;
    }

    public CustomerListCriteria withNumberNotEquals(String value, String defaultValue) {
        setNumberNotEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getQrCodeUrlLike() {
        return qrCodeUrlLike;
    }

    public void  setQrCodeUrlLike(String value) {
        this.qrCodeUrlLike = value;
    }

    public CustomerListCriteria withQrCodeUrlLike(String value) {
        setQrCodeUrlLike(value);
        return this;
    }

    public CustomerListCriteria withQrCodeUrlLike(String value, String defaultValue) {
        setQrCodeUrlLike(value == null ? defaultValue : value);
        return this;
    }

    public String getQrCodeUrlEquals() {
        return qrCodeUrlEquals;
    }

    public void  setQrCodeUrlEquals(String value) {
        this.qrCodeUrlEquals = value;
    }

    public CustomerListCriteria withQrCodeUrlEquals(String value) {
        setQrCodeUrlEquals(value);
        return this;
    }

    public CustomerListCriteria withQrCodeUrlEquals(String value, String defaultValue) {
        setQrCodeUrlEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getQrCodeUrlNotEquals() {
        return qrCodeUrlNotEquals;
    }

    public void  setQrCodeUrlNotEquals(String value) {
        this.qrCodeUrlNotEquals = value;
    }

    public CustomerListCriteria withQrCodeUrlNotEquals(String value) {
        setQrCodeUrlNotEquals(value);
        return this;
    }

    public CustomerListCriteria withQrCodeUrlNotEquals(String value, String defaultValue) {
        setQrCodeUrlNotEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getQrCodeUidLike() {
        return qrCodeUidLike;
    }

    public void  setQrCodeUidLike(String value) {
        this.qrCodeUidLike = value;
    }

    public CustomerListCriteria withQrCodeUidLike(String value) {
        setQrCodeUidLike(value);
        return this;
    }

    public CustomerListCriteria withQrCodeUidLike(String value, String defaultValue) {
        setQrCodeUidLike(value == null ? defaultValue : value);
        return this;
    }

    public String getQrCodeUidEquals() {
        return qrCodeUidEquals;
    }

    public void  setQrCodeUidEquals(String value) {
        this.qrCodeUidEquals = value;
    }

    public CustomerListCriteria withQrCodeUidEquals(String value) {
        setQrCodeUidEquals(value);
        return this;
    }

    public CustomerListCriteria withQrCodeUidEquals(String value, String defaultValue) {
        setQrCodeUidEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getQrCodeUidNotEquals() {
        return qrCodeUidNotEquals;
    }

    public void  setQrCodeUidNotEquals(String value) {
        this.qrCodeUidNotEquals = value;
    }

    public CustomerListCriteria withQrCodeUidNotEquals(String value) {
        setQrCodeUidNotEquals(value);
        return this;
    }

    public CustomerListCriteria withQrCodeUidNotEquals(String value, String defaultValue) {
        setQrCodeUidNotEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getUsableScoresLike() {
        return usableScoresLike;
    }

    public void  setUsableScoresLike(String value) {
        this.usableScoresLike = value;
    }

    public CustomerListCriteria withUsableScoresLike(String value) {
        setUsableScoresLike(value);
        return this;
    }

    public CustomerListCriteria withUsableScoresLike(String value, String defaultValue) {
        setUsableScoresLike(value == null ? defaultValue : value);
        return this;
    }

    public String getUsableScoresEquals() {
        return usableScoresEquals;
    }

    public void  setUsableScoresEquals(String value) {
        this.usableScoresEquals = value;
    }

    public CustomerListCriteria withUsableScoresEquals(String value) {
        setUsableScoresEquals(value);
        return this;
    }

    public CustomerListCriteria withUsableScoresEquals(String value, String defaultValue) {
        setUsableScoresEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getUsableScoresNotEquals() {
        return usableScoresNotEquals;
    }

    public void  setUsableScoresNotEquals(String value) {
        this.usableScoresNotEquals = value;
    }

    public CustomerListCriteria withUsableScoresNotEquals(String value) {
        setUsableScoresNotEquals(value);
        return this;
    }

    public CustomerListCriteria withUsableScoresNotEquals(String value, String defaultValue) {
        setUsableScoresNotEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getTotalScoresLike() {
        return totalScoresLike;
    }

    public void  setTotalScoresLike(String value) {
        this.totalScoresLike = value;
    }

    public CustomerListCriteria withTotalScoresLike(String value) {
        setTotalScoresLike(value);
        return this;
    }

    public CustomerListCriteria withTotalScoresLike(String value, String defaultValue) {
        setTotalScoresLike(value == null ? defaultValue : value);
        return this;
    }

    public String getTotalScoresEquals() {
        return totalScoresEquals;
    }

    public void  setTotalScoresEquals(String value) {
        this.totalScoresEquals = value;
    }

    public CustomerListCriteria withTotalScoresEquals(String value) {
        setTotalScoresEquals(value);
        return this;
    }

    public CustomerListCriteria withTotalScoresEquals(String value, String defaultValue) {
        setTotalScoresEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getTotalScoresNotEquals() {
        return totalScoresNotEquals;
    }

    public void  setTotalScoresNotEquals(String value) {
        this.totalScoresNotEquals = value;
    }

    public CustomerListCriteria withTotalScoresNotEquals(String value) {
        setTotalScoresNotEquals(value);
        return this;
    }

    public CustomerListCriteria withTotalScoresNotEquals(String value, String defaultValue) {
        setTotalScoresNotEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getStateLike() {
        return stateLike;
    }

    public void  setStateLike(String value) {
        this.stateLike = value;
    }

    public CustomerListCriteria withStateLike(String value) {
        setStateLike(value);
        return this;
    }

    public CustomerListCriteria withStateLike(String value, String defaultValue) {
        setStateLike(value == null ? defaultValue : value);
        return this;
    }

    public String getStateEquals() {
        return stateEquals;
    }

    public void  setStateEquals(String value) {
        this.stateEquals = value;
    }

    public CustomerListCriteria withStateEquals(String value) {
        setStateEquals(value);
        return this;
    }

    public CustomerListCriteria withStateEquals(String value, String defaultValue) {
        setStateEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getStateNotEquals() {
        return stateNotEquals;
    }

    public void  setStateNotEquals(String value) {
        this.stateNotEquals = value;
    }

    public CustomerListCriteria withStateNotEquals(String value) {
        setStateNotEquals(value);
        return this;
    }

    public CustomerListCriteria withStateNotEquals(String value, String defaultValue) {
        setStateNotEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getAddressLike() {
        return addressLike;
    }

    public void  setAddressLike(String value) {
        this.addressLike = value;
    }

    public CustomerListCriteria withAddressLike(String value) {
        setAddressLike(value);
        return this;
    }

    public CustomerListCriteria withAddressLike(String value, String defaultValue) {
        setAddressLike(value == null ? defaultValue : value);
        return this;
    }

    public String getAddressEquals() {
        return addressEquals;
    }

    public void  setAddressEquals(String value) {
        this.addressEquals = value;
    }

    public CustomerListCriteria withAddressEquals(String value) {
        setAddressEquals(value);
        return this;
    }

    public CustomerListCriteria withAddressEquals(String value, String defaultValue) {
        setAddressEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getAddressNotEquals() {
        return addressNotEquals;
    }

    public void  setAddressNotEquals(String value) {
        this.addressNotEquals = value;
    }

    public CustomerListCriteria withAddressNotEquals(String value) {
        setAddressNotEquals(value);
        return this;
    }

    public CustomerListCriteria withAddressNotEquals(String value, String defaultValue) {
        setAddressNotEquals(value == null ? defaultValue : value);
        return this;
    }

    public Object getValueOf(String name) {
        switch(name) {
        case "recordId": return getRecordId();
        case "customerUidEquals": return getCustomerUidEquals();
        case "customerUidNotEquals": return getCustomerUidNotEquals();
        case "idLike": return getIdLike();
        case "idEquals": return getIdEquals();
        case "idNotEquals": return getIdNotEquals();
        case "createTimeUpper": return getCreateTimeUpper();
        case "createTimeLower": return getCreateTimeLower();
        case "createTimeEquals": return getCreateTimeEquals();
        case "createTimeNotEquals": return getCreateTimeNotEquals();
        case "modifyTimeUpper": return getModifyTimeUpper();
        case "modifyTimeLower": return getModifyTimeLower();
        case "modifyTimeEquals": return getModifyTimeEquals();
        case "modifyTimeNotEquals": return getModifyTimeNotEquals();
        case "avatarUrlLike": return getAvatarUrlLike();
        case "avatarUrlEquals": return getAvatarUrlEquals();
        case "avatarUrlNotEquals": return getAvatarUrlNotEquals();
        case "nickNameLike": return getNickNameLike();
        case "nickNameEquals": return getNickNameEquals();
        case "nickNameNotEquals": return getNickNameNotEquals();
        case "realNameLike": return getRealNameLike();
        case "realNameEquals": return getRealNameEquals();
        case "realNameNotEquals": return getRealNameNotEquals();
        case "genderLike": return getGenderLike();
        case "genderEquals": return getGenderEquals();
        case "genderNotEquals": return getGenderNotEquals();
        case "birthdayLike": return getBirthdayLike();
        case "birthdayEquals": return getBirthdayEquals();
        case "birthdayNotEquals": return getBirthdayNotEquals();
        case "openIdLike": return getOpenIdLike();
        case "openIdEquals": return getOpenIdEquals();
        case "openIdNotEquals": return getOpenIdNotEquals();
        case "phoneLike": return getPhoneLike();
        case "phoneEquals": return getPhoneEquals();
        case "phoneNotEquals": return getPhoneNotEquals();
        case "levelNameLike": return getLevelNameLike();
        case "levelNameEquals": return getLevelNameEquals();
        case "levelNameNotEquals": return getLevelNameNotEquals();
        case "levelLike": return getLevelLike();
        case "levelEquals": return getLevelEquals();
        case "levelNotEquals": return getLevelNotEquals();
        case "numberLike": return getNumberLike();
        case "numberEquals": return getNumberEquals();
        case "numberNotEquals": return getNumberNotEquals();
        case "qrCodeUrlLike": return getQrCodeUrlLike();
        case "qrCodeUrlEquals": return getQrCodeUrlEquals();
        case "qrCodeUrlNotEquals": return getQrCodeUrlNotEquals();
        case "qrCodeUidLike": return getQrCodeUidLike();
        case "qrCodeUidEquals": return getQrCodeUidEquals();
        case "qrCodeUidNotEquals": return getQrCodeUidNotEquals();
        case "usableScoresLike": return getUsableScoresLike();
        case "usableScoresEquals": return getUsableScoresEquals();
        case "usableScoresNotEquals": return getUsableScoresNotEquals();
        case "totalScoresLike": return getTotalScoresLike();
        case "totalScoresEquals": return getTotalScoresEquals();
        case "totalScoresNotEquals": return getTotalScoresNotEquals();
        case "stateLike": return getStateLike();
        case "stateEquals": return getStateEquals();
        case "stateNotEquals": return getStateNotEquals();
        case "addressLike": return getAddressLike();
        case "addressEquals": return getAddressEquals();
        case "addressNotEquals": return getAddressNotEquals();
        }
        return null;
    }

    public boolean hasField(String name) {
        return FIELD_NAMES.contains(name);
    }

    @Override
    public int hashCode() {
        return signature().hashCode();
    }

    @Override
    public boolean equals(Object o) {
        if(!(o instanceof CustomerListCriteria)) return false;
        return signature().equals(((CustomerListCriteria)o).signature());
    }

    public String signature() {
        throw new RuntimeException("Bean CustomerListCriteria has no signature defined, no hash code or equals possible.");
    }
}
